gtk_container_idle_sizer (gpointer data)
{
GSList *slist;
+ gint64 current_time;
/* we may be invoked with a container_resize_queue of NULL, because
* queue_resize could have been adding an extra idle function while
* because size_allocate functions often change styles and so could
* cause infinite loops in this function.
*/
+ current_time = g_get_monotonic_time ();
for (slist = container_resize_queue; slist; slist = slist->next)
{
- _gtk_style_context_validate (gtk_widget_get_style_context (slist->data), 0);
+ _gtk_style_context_validate (gtk_widget_get_style_context (slist->data),
+ current_time,
+ 0);
}
while (container_resize_queue)
break;
case GTK_RESIZE_IMMEDIATE:
- _gtk_style_context_validate (gtk_widget_get_style_context (GTK_WIDGET (resize_container)), 0);
+ _gtk_style_context_validate (gtk_widget_get_style_context (GTK_WIDGET (resize_container)),
+ g_get_monotonic_time (),
+ 0);
gtk_container_check_resize (resize_container);
break;
void
_gtk_style_context_validate (GtkStyleContext *context,
+ gint64 timestamp,
GtkCssChange change)
{
GtkStyleContextPrivate *priv;
change = _gtk_css_change_for_child (change);
for (list = priv->children; list; list = list->next)
{
- _gtk_style_context_validate (list->data, change);
+ _gtk_style_context_validate (list->data, timestamp, change);
}
}